package com.sh.business.mapper;

import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.sh.business.domain.UserWithdrawal;
import com.sh.business.domain.bo.UserWithdrawalBo;
import com.sh.business.domain.dto.UserWithdrawalDto;
import com.sh.business.domain.vo.UserWithdrawalVo;
import com.sh.common.mybatis.core.mapper.BaseMapperPlus;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;

/**
 * 用户提现记录Mapper接口
 *
 * @author ruoyi
 * @date 2024-10-08
 */
public interface UserWithdrawalMapper extends BaseMapperPlus<UserWithdrawal, UserWithdrawalVo> {

    /**
     * 查询提现统计（列表）
     * @param bo
     * @return
     */
    List<UserWithdrawalDto> queryWithdrawalData(@Param("bo") UserWithdrawalBo bo);

    default UserWithdrawal queryByTxHash(String txHash) {
        return selectOne(Wrappers.<UserWithdrawal>lambdaQuery().eq(UserWithdrawal::getTxHash, txHash));
    }
    /**
     * 今日提现（U）
     */
    BigDecimal queryTodayWithdrawUsdtAmount();
    /**
     * 今日提现（A）
     */
    BigDecimal queryTodayWithdrawAleoAmount();

    /**
     * 今日提现（S）
     */
    BigDecimal queryTodayWithdrawScrAmount();
    /**
     * 累计提现（U）
     */
    BigDecimal queryTotalWithdrawUsdtAmount();
    /**
     * 累计提现（A）
     */
    BigDecimal queryTotalWithdrawAleoAmount();

    /**
     * 累计提现（S）
     */
    BigDecimal queryTotalWithdrawScrAmount();
    /**
     * 累计手续费（U）
     */
    BigDecimal queryTotalFeeUsdtAmount();
    /**
     * 累计手续费（A）
     */
    BigDecimal queryTotalFeeAleoAmount();

    /**
     * 累计手续费（S）
     */
    BigDecimal queryTotalFeeScrAmount();

}
